home *** CD-ROM | disk | FTP | other *** search
/ Spicy Pics! / Spicy Pics!.iso / amiga / misc / turbogif.lzh / TurboGIF.Doc < prev    next >
Text File  |  1991-08-22  |  16KB  |  392 lines

  1.  
  2.  
  3.                                 - TurboGIF -
  4.  
  5.                              Fast B&W GIF Viewer
  6.  
  7.            Copyright (c) 1991 by Steve Borden, All Rights Reserved.
  8.  
  9.                                  Version 1.0
  10.  
  11.                                August 21, 1991
  12.  
  13.  
  14.  
  15. INTRODUCTION
  16. ------------
  17. Although there are quite a few public domain and shareware GIF 
  18. viewers/converters available, their conversion speeds leave much to 
  19. be desired.  I find it frustrating to wait up to 10 minutes to 
  20. convert a picture just so I can decide whether the picture was even 
  21. worth converting in the first place!  To help solve this problem, I 
  22. wrote TurboGIF, which is, to my knowledge, the fastest GIF converter 
  23. currently available.  TurboGIF will convert and display any GIF 
  24. image three to fifteen times faster than any similar program for the 
  25. Amiga.  The average 640 x 480, 256-color GIF picture can be 
  26. displayed by TurboGIF in about 45 seconds, from floppy disk, on an 
  27. unaccelerated A500.  (See the chart below for a speed comparison of 
  28. TurboGIF with some other popular GIF viewers/converters.)  In 
  29. addition, TurboGIF is  very small (6K), memory-efficient, and 
  30. multitasks.  512K users shouldn't have any trouble viewing large 
  31. images.  TurboGIF was designed to handle any GIF87a file and most 
  32. GIF89a files.  The maximum image width is 1024 pixels.  The maximum 
  33. height depends mainly on the available chip RAM.  The largest image 
  34. I've successfully converted on a 1/2 meg chip RAM machine was 1024 x 
  35. 768.
  36.  
  37. The current version of TurboGIF displays images in black and white 
  38. (sixteen shades of gray) only.  This apparent "limitation" actually 
  39. has several advantages.  First, it is faster to render a black and 
  40. white display than it is to render a color display.  Second, a black 
  41. and white display can take advantage of the Amiga's hi-res mode, 
  42. whereas 4096 color HAM screens are limited to lo-res.  In fact, in 
  43. some instances I've actually preferred the hi-res black and white 
  44. conversions to their lo-res HAM counterparts!  Third, I originally 
  45. designed TurboGIF because I wanted to be able to quickly view GIF 
  46. pictures to see if they were worth converting with a more versatile 
  47. (but slower) program such as HamLab.  In most cases, a black and 
  48. white display is fine for this.  Finally, the next major release 
  49. will have color capability (probably Dynamic Hi-Res) without a major 
  50. sacrifice in speed.
  51.  
  52. TurboGIF allows the user to adjust the contrast and brightness of an 
  53. image, which can dramatically improve pictures that look "washed-
  54. out" or have "bands" of color instead of smooth color transitions.  
  55. Normally the optimal display resolution, interlace mode, and 
  56. overscan mode are determined automatically by the program, but the 
  57. user can also specify these parameters and modify them while the 
  58. picture is being viewed.  If the image won't fit on the available 
  59. screen, it can be scrolled into view with the mouse.  Finally, 
  60. registered users of TurboGIF will receive an enhanced version of the 
  61. program which can save the converted image as an Amiga IFF file.
  62.  
  63.  
  64. USER REGISTRATION INFO
  65. ----------------------
  66. TurboGIF is being distributed as SHAREWARE.  It is NOT public 
  67. domain. I am requesting a fee of $10.00 if you find it useful.  
  68. Registered users will receive the "complete" registered version of 
  69. TurboGIF which can save converted images as Amiga IFF files.  A 
  70. registration form and my address can be found at the end of this 
  71. document.
  72.  
  73. The registered version of TurboGIF may NOT be distributed under any 
  74. circumstances.  The evaluation version, which lacks the 'save' 
  75. option, may be freely distributed provided that 1) the contents of 
  76. the original archive remain complete and unaltered, 2) no money is 
  77. charged beyond media and shipping costs, and 3) TurboGIF is not 
  78. bundled and sold as part of another program without my permission.
  79.  
  80. There is no warranty on TurboGIF.  I cannot be held responsible for 
  81. any damages resulting from the use of this program.  While I intend 
  82. to provide reasonable support through upgrades and bug fixes, I am 
  83. not obligated to continue this support.
  84.  
  85. TurboGIF is Copyright (c) 1991 by S. Borden, All Rights Reserved.
  86. Both the TurboGIF source code and executable code are copyrighted.
  87.  
  88. Graphics Interchange Format (c) is the Copyright property of 
  89. CompuServe Inc.  GIF (sm) is a Service Mark property of Compuserve 
  90. Inc.
  91.  
  92.  
  93. SYSTEM REQUIRMENTS
  94. ------------------
  95. TurboGIF has been tested successfully on an unaccelerated 1-meg A500 
  96. and an unaccelerated 1-meg A2000 under AmigaDos 1.2 and 1.3.  It has 
  97. not been tested on machines with expansion memory beyond one 
  98. megabyte, 68020/30 processors, or AmigaDos 2.0, though I don't 
  99. expect that these configurations will cause any problems.  I'd 
  100. appreciate any feedback as to how TurboGIF performs on expanded 
  101. systems.
  102.  
  103.  
  104. USING TURBOGIF
  105. --------------
  106. TurboGIF runs from the CLI/Shell only.  It will not run from the 
  107. Workbench.  Entering 'TurboGIF' without any parameters will give a 
  108. summary of its command options.  The complete command line format 
  109. for TurboGIF is:
  110.  
  111.             TurboGIF <GIFname> [IFFname] [options]
  112.  
  113. Parameters may be supplied in any order with the one restriction 
  114. that <GIFname> must precede [IFFname].  Parameters in square 
  115. brackets are optional.  Note that the [IFFname] parameter is 
  116. available only on the registered version of TurboGIF.  Trying to use 
  117. it on the evaluation version will result in a usage error being 
  118. displayed.      
  119.  
  120. <GIFname> is the path/filename of the GIF picture to be viewed.
  121.  
  122. [IFFname] is the path/filename of the IFF file to be written.  If 
  123. this parameter is not entered and the SAVE key is pressed, a default 
  124. name of TurboScreen.IFF will be used.  Again, this parameter applies 
  125. only to the registered version of TurboGIF.
  126.  
  127. [options] consist of a minus sign '-' followed by a single letter 
  128. and an integer value.  There shouldn't be any space between the 
  129. letter and the value.  The following options are available:
  130.  
  131. -c<n>  Adjust contrast.  This option can be used to dramatically 
  132. improve the quality of GIF images that have very faded colors or 
  133. color "banding."  It must be followed by a value from -16 to 4096. 
  134. Positive values increase the contrast and negative values decrease 
  135. the contrast.  In practice, I've found that values between 8 and 32 
  136. produce the best results.  Experiment - you may be surprised at the 
  137. new life a little contrast adjustment can bring to some pictures.
  138.  
  139. -b<n>  Adjust brightness.  This option will increase or decrease the 
  140. overall brightness of a picture.  It should be followed by a value 
  141. from -255 to 255.  Use it in combination with the contrast option to 
  142. improve image quality.
  143.  
  144. -k<n>  Select border color.  Normally TurboGIF will set the screen 
  145. border color to whatever the GIF file says it should be.  This 
  146. option allows you set the border color to whatever shade of gray you 
  147. prefer.  It should be followed by a value from 0 to 15, where 0 
  148. represents black, 15 represents white, and the values in between 
  149. represent intermediate shades of gray.  
  150.  
  151. -r<n>  Select resolution.  This option sets the initial screen 
  152. resolution.  It should be followed by 0, 1, or -1.  0 enables low 
  153. resolution, 1 enables high resolution, and -1 tells TurboGIF to 
  154. decide which resolution is best suited for the given picture.  The 
  155. resolution can also be changed by using the numeric keypad after the 
  156. picture has loaded, as explained below.
  157.  
  158. -i<n>  Select interlace mode.  This option sets the initial screen 
  159. interlace mode.  It should be followed by a 0, 1, or -1.  0 disables 
  160. interlace, 1 enables interlace, and -1 tells TurboGIF to decide 
  161. which mode is best suited for the given picture.  The interlace mode 
  162. can also be changed by using the numeric keypad after the picture 
  163. has loaded, as explained below.
  164.  
  165. -o<n>  Select overscan mode.  This option sets the initial overscan 
  166. mode. It should be followed by a 0, 1, or -1.  0 disables overscan 
  167. and 1 and -1 enable overscan if it is necessary.  The overscan mode 
  168. can also be changed by using the numeric keypad after the picture 
  169. has loaded, as explained below.
  170.  
  171.  
  172. After you enter a valid command line, TurboGIF will print some 
  173. information about the selected picture and open a screen behind the 
  174. Workbench where the image will be displayed.  You can view the 
  175. picture as it loads by using the screen depth gadgets or Left-Amiga-
  176. M to flip the TurboGIF screen to the front.  IMPORTANT!  If the 
  177. picture is being displayed in high-resolution mode, viewing it while 
  178. it is loading will slow down TurboGIF.
  179.  
  180. Once the picture has loaded, it will automatically be brought to the 
  181. front.  If the image is larger than the available screen, holding 
  182. the left mouse button  and moving the mouse will scroll the hidden 
  183. parts of the image into view.
  184.  
  185. You may also change the characteristics of the display while viewing 
  186. the picture.  The screen resolution, interlace mode, and overscan 
  187. mode can be changed with the numeric keypad keys shown below.  Keys 
  188. marked 'AUTO' tell TurboGIF to use whatever mode it thinks is best 
  189. for displaying the picture.
  190.  
  191.               ______   ______   ______
  192.              |7     | |8     | |9     |
  193. Resolution:  |  LOW | | HIGH | | AUTO |
  194.              |______| |______| |______|
  195.               ______   ______   ______
  196.              |4     | |5     | |6     |
  197. Interlace:   |  OFF | |  ON  | | AUTO |
  198.              |______| |______| |______|
  199.               ______   ______   ______
  200.              |1     | |2     | |3     |
  201. Overscan:    |  OFF | | AUTO | | AUTO |
  202.              |______| |______| |______|
  203.  
  204.  
  205. The registered version of TurboGIF contains an option to save the 
  206. converted image as an IFF file.  To do this, press SHIFT-F1 while 
  207. viewing the picture.  The picture will be written with whatever IFF 
  208. filename was specified on the command line.  If no filename was 
  209. specified, TurboGIF will save the file as 'TurboScreen.iff' in the 
  210. current directory.
  211.  
  212. When you are finished viewing the picture, exit TurboGIF by pressing 
  213. the right mouse button or ESC.
  214.  
  215.  
  216. EXAMPLES
  217. --------
  218. Here are a few examples of using TurboGIF:
  219.  
  220. TurboGIF
  221.      - Prints summary of TurboGIF command options.
  222.  
  223. TurboGIF df1:MyAmiga.gif
  224.      - Shows picture 'MyAmiga.gif' from floppy drive 1.
  225.  
  226. TurboGIF ram:Godzilla.gif df1:Godzilla.iff
  227.      - Shows GIF picture Godzilla.gif from RAM: disk
  228.      - Saves IFF picture as Godzilla.iff to floppy drive 1
  229.      - (This works only with the registered version.)
  230.  
  231. TurboGIF df0:Before.gif -c16 -b40 
  232.      - Shows 'Before.gif' from floppy drive 0
  233.      - Sets contrast to +16
  234.      - Sets brightness to +40.
  235.  
  236. TurboGIF df0:Before.gif -c16 -b40 -k15 -r0 ram:After.iff
  237.      - Same as previous example except:
  238.      - Screen border is forced to white  
  239.      - Screen is set to lo-res
  240.      - IFF file will be saved as ram:After.iff
  241.      - (The save option will work only with the registered version.)
  242.  
  243.  
  244. SPEED COMPARISON
  245. ----------------
  246. The chart below compares the rendering times of several popular GIF 
  247. converters with TurboGIF.  The test was performed on a standard A500 
  248. with one megabyte of RAM (1/2 megabyte of chip RAM).  Six pictures 
  249. of varying dimensions and palette sizes were used.  All GIF files 
  250. were read directly from floppy disk.  Any programs which produced 
  251. intermediate or output files (HamLab, HAMSharp) were configured to 
  252. store them in RAM for maximum speed.  Times are listed in seconds.  
  253. Footnotes are denoted with an asterisk *.  This was a raw speed 
  254. comparison only; any other merits or drawbacks of each program were 
  255. not taken into account.
  256.  
  257. -----------------------------------------------------------------------
  258. Picture   | Desert1 | Fruits  | BabyOwl | SpcWalk | Leopard | Hobbes2 |
  259. File Size | 283K    | 304K    | 160K    | 43K     | 41K     | 7K      |
  260. Resolution|1024x768 | 640x480 | 640x480 | 320x200 | 370x199 | 453x477 |
  261. No. Colors| 256     | 256     | 256     | 256     | 256     | 2       |
  262. -----------------------------------------------------------------------
  263. HamGIF    | 114/187 | 178/189 | 112/125 | 41/41   | 35/35   | 37/42   |
  264.  v2.5  *1 |         |         |         |         |         |         |
  265. VirtGIF   | --- *3  | 360     | 291     | 47      | 68      | 52      |
  266.  v2.0     |         |         |         |         |         |         |
  267. HamLab    | --- *3  | 192     | 160     | 52      | 55      | 84      |
  268.  v1.1  *2 |         |         |         |         |         |         |
  269. HAMSharp  | --- *3  | 774     | 607     | 260     | 125     | 67  *4  |
  270.  v1.5     |         |         |         |         |         |         |
  271. TurboGIF  | 74      | 62      | 37      | 10      | 11      | 10      |
  272.  v1.0     |         |         |         |         |         |         |
  273. -----------------------------------------------------------------------
  274.  
  275. On the average, TurboGIF was:
  276.  
  277.  3.1 - 3.4 times faster than Hamgif 2.5
  278.        6.0 times faster than VirtGIF 2.0
  279.        5.2 times faster than Hamlab 1.1
  280.       14.6 times faster than HamSharp 1.5
  281.  
  282. *1 - HamGIF is also known as GIFFY 2.5.  This program does not have 
  283. the ability to scroll images larger than the screen, though it still 
  284. loads the information that won't fit.  This is why there are two 
  285. times listed for each picture.  The first time is how long it takes 
  286. to fill the display, and the second time is how long it takes for 
  287. the file to actually finish loading.
  288.  
  289. *2 - HamLab conversion times can vary considerably depending on what 
  290. dithering, scaling, and color options are chosen.  For this test I 
  291. tried to make the conversion as fast as possible.  Fast Analyze, Use 
  292. Pipes, 50% width scaling, and no dithering was used.  Conversion 
  293. times  using special options are substantially longer.
  294.  
  295. *3 - Program aborted or crashed because of insufficient memory when 
  296. converting this picture.
  297.  
  298. *4 - Program "converted" the picture, but resulting output was 
  299. unrecognizable.
  300.  
  301.  
  302. FUTURE ENHANCEMENTS
  303. -------------------
  304. Here are some of the features which I am working on or considering 
  305. for future releases of TurboGIF:
  306.  
  307. -- Definitely color.  Probably Dynamic Hi-res, maybe HAM.
  308. -- More complete support of GIF89a format.
  309. -- Dithering.
  310. -- Rough contrast/brightness adjustments while viewing.
  311. -- Image cropping, scaling.
  312. -- Enhanced window/gadget-oriented user interface.
  313. -- Workbench support.
  314. -- CTRL-C abort option.
  315. -- Even faster operation.  (I still have a few tricks up my sleeve.)
  316.  
  317.  
  318. ACKNOWLEDGMENTS
  319. ---------------
  320. I would like to thank the following people for their various 
  321. contributions to the development of TurboGIF.
  322.  
  323. J. Edward Hanway for writing HamLab, which partially influenced me 
  324. to write TurboGIF, and is still my personal favorite GIF converter 
  325. (even though it is a bit slow ;-) ).
  326.  
  327. Steve Blackstock for his article on LZW data compression and Timo 
  328. Rossi for sending it to me.
  329.  
  330. Ed Greenwood for helpful comments and support.
  331.  
  332. My father, for proofreading this document, and promising to buy me a 
  333. new hard drive.  (Maybe?)
  334.  
  335.  
  336. REGISTRATION FORM
  337. -----------------
  338. To order a registered copy of TurboGIF (with IFF save option), 
  339. please fill out the form below and send it with your check or money 
  340. order for $10.00 to:
  341.  
  342.                         S. Borden
  343.                         40 Ballardvale Rd.
  344.                         Andover, MA 01810
  345.  
  346. Please send U.S. funds only.  I will provide the disk and return 
  347. postage.  Registered users will be notified of upgrades, and will 
  348. probably be able to obtain them at lower cost.  All contributions 
  349. will go towards either new hardware or  college tuition, both of 
  350. which will, in one way or another, assist in the future development 
  351. of TurboGIF.
  352.  
  353.  
  354.                              cut here
  355. --------------------------------------------------------------------
  356.  
  357.                           USER REGISTRATION FORM
  358.  
  359. Product: TurboGIF 1.0
  360.  
  361.  
  362. Name:_______________________________________________________________
  363.  
  364.  
  365. Address:____________________________________________________________
  366.  
  367.  
  368. City:_______________________ State:_________ Zip Code:______________
  369.  
  370.  
  371.  
  372. Description of Your System (optional):______________________________
  373.  
  374.  
  375. ____________________________________________________________________
  376.  
  377.  
  378.  
  379. Comments, Suggestions, Bug Reports:_________________________________
  380.  
  381.  
  382. ____________________________________________________________________
  383.  
  384.  
  385. ____________________________________________________________________
  386.  
  387.  
  388. ____________________________________________________________________
  389.  
  390.  
  391.  
  392.